Given a positive integer n
, find the pivot integerx
such that:
- The sum of all elements between
1
andx
inclusively equals the sum of all elements betweenx
andn
inclusively.
Return the pivot integerx
. If no such integer exists, return -1
. It is guaranteed that there will be at most one pivot index for the given input.
Input: n = 8 Output: 6 Explanation: 6 is the pivot integer since: 1 + 2 + 3 + 4 + 5 + 6 = 6 + 7 + 8 = 21.
Input: n = 1 Output: 1 Explanation: 1 is the pivot integer since: 1 = 1.
Input: n = 4 Output: -1 Explanation: It can be proved that no such integer exist.
1 <= n <= 1000
implSolution{pubfnpivot_integer(n:i32) -> i32{let x = ((n *(n + 1) / 2)asf64).sqrt()asi32;if x * x *2 == n *(n + 1){ x }else{ -1}}}